// index.js
import Toast from '@vant/weapp/toast/toast';
import userApi from '../../api/user'
Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    // hasUserInfo: false,
    // canIUse: wx.canIUse('button.open-type.getUserInfo'),
    // canIUseGetUserProfile: false,
    // canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
  },
  wxLogin() {
    let that = this
    wx.getUserProfile({
      desc: '完善用户信息',
      success: (res) => {
        let userInfo = res.userInfo
        Toast.loading({
          message: '登录中...',
          forbidClick: true,
          loadingType: 'spinner',
          duration: 0
        });
        wx.login({
          timeout: 10000,
          success(res) {
            wx.showLoading({
              title: '登录中',
            })
            let code = res.code
            let loginDTO = {
              nickname: userInfo.nickName,
              avatarUrl: userInfo.avatarUrl,
              code: code
            }
            // 登录
            userApi.wxLogin(loginDTO).then(res => {
              // console.log(res.data.data);
              if (res.data.code !== 200) {
                wx.hideLoading()
                return wx.showToast({
                  title: res.data.data,
                  icon: 'none'
                })
              }
              Toast.clear();
              that.setData({
                userInfo: res.data.data.userInfo.user
              })
              // console.log(res);
              wx.setStorageSync('user', res.data.data.userInfo.user)
              wx.setStorageSync('token', res.data.data.token)
              Toast.success('登录成功');
              wx.hideLoading()
              wx.switchTab({
                url: '../index/index',
              })
            }).catch(e => {
              Toast.clear()
            })
          },
          fail() {
            Toast.clear()
            Toast.fail('code获取失败')
            // console.log("获取code失败")
          }
        })
      }
    })
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },

  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        // console.log(res)
        this.setData({
          userInfo: res.userInfo,
        })
      }
    })
  },
})
